Existing cache replacement policies generally have two primary design considerations, namely, achieving the best cache hit ratio and maintaining a reasonable implementation cost. These design considerations typically assume that an on-chip SRAM cache is being used. Because SRAM cache is non-volatile memory (NVM), refreshing is typically not used with SRAM cache. To reduce implementation cost and/or to reduce the chip size, there is a trend to utilize DRAM in on-chip cache. Because DRAM cache is volatile memory, refreshing is used with DRAM cache. Further, SRAM cache is typically faster than DRAM cache but DRAM cache is typically cheaper than SRAM cache and typically has a higher storage capacity per unit area than SRAM cache.